In-memory computing involves an architecture where data is kept inside a memory of a computer rather than on its disk drives. By keeping data in a memory, this architecture especially applies to big data applications that require extensive access to data (such as data analytics, data reporting or data warehousing). As data sets continue to grow, storage is increasingly becoming a critical bottleneck in many workloads. Therefore, memory-centric distributed storage systems enabling reliable data sharing at memory speed across cluster jobs have been developed for such architecture. These systems usually enable in-memory caching to achieve better performance of big data applications.
Although the distributed storage systems support in-memory caching on the top of the data nodes equipped in the distributed storage system, the performance of this mechanism may not satisfy the increasing requirements from big data applications.